iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 3
0

一般來說,為了避免連按Back倒退鍵造成程式關閉,會作Back倒退鍵的事件監聽。

這邊提供兩個方法

  • onKeyDown
  • onBackPressed

onKeyDown是透過按鍵監聽事件來達到攔截Back倒退鍵的效果。

override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean {
    if (keyCode == KeyEvent.KEYCODE_BACK) {
        Toast.makeText(this, "你確定要離開?", Toast.LENGTH_SHORT).show()
        return false
    }
    return super.onKeyDown(keyCode, event)
}

我們在 if (keyCode == KeyEvent.KEYCODE_BACK)裡面打上return false是因為我們並不想讓Back倒退鍵把APP關掉。

onBackPressed是直接覆寫Back倒退鍵事件。

override fun onBackPressed() {
    Toast.makeText(this, "你確定要離開?", Toast.LENGTH_SHORT).show()
}

所以當我們在覆寫的同時,原本的退出APP的動作就被我們取代掉了。


上一篇
Textview 我想要顯示多行又想要省略號
下一篇
利用Glide製作圓形圖片 前景加背景一次滿足 LayerDrawable
系列文
跟Kotlin一起來聊Android元件 或許還有應用,或許還有一些資訊雜談30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言